%% 
%%  Include file for paralog syntax.
%%


-define(PROJECT, paralog).
-define(P(X), {?PROJECT, X}).

-define(v(V), {?P(var), V}).

-define(rule(Name, Head, Body), {?P(rule), Name, Head, Body}).
-define(call(Rule, Args), {?P(call), Rule, Args}).
-define(fact(Name, Head), {?P(rule), Name, Head, []}).
-define(erlang(M, F, A), {?P(erlang), {M, F, A}}).
-define(unify(X1, X2), {?P(unify), X1, X2}).

-define(is_primitive(P), (is_atom(P) orelse is_number(P))).
